function autocomplete_init(field, params) {  
    // Si no tiene el controller no se puede setear la URL
    if (empty(params.controller)) {
        console.log("ERROR (autocomplete_init) FALTA CONTROLLER PARA SETEAR AUTOCOMPLETE EN EL CAMPO ID: " + $(field).attr("id"));
        return;
    }  
    
    var ac = $("#" + field.attr("id") + "_ac");
        
    ac.autocomplete({
        source: function(req, response) { 
            $.ajax({
                url: WWW + (empty(params.plugin) ? "" : params.plugin + "/") + params.controller + "/ajax/autocomplete/ajax_obtener_valores/" + req.term,
                type: "GET",
                dataType: 'json',
                success: function(data) {
                    response(data);
                }
            });
        },
        minLength: 2,
        select: function(event, ui) {
            field.val(ui.item.id).change();
        },
        change: function() {
            if (empty(ac.val().length)) {
                field.val("").change();
            }
        }
    });
  
}

// hago que en el autocomplete se marque en negrita el string buscado
$.ui.autocomplete.prototype._renderItem = function (ul, item) {
    item.label = item.label.replace(new RegExp("(?![^&;]+;)(?!<[^<>]*)(" + $.ui.autocomplete.escapeRegex(this.term) + ")(?![^<>]*>)(?![^&;]+;)", "gi"), "<strong>$1</strong>");
    return $("<li></li>")
    .data("item.autocomplete", item)
    .append("<a>" + item.label + "</a>")
    .appendTo(ul);
};